package com.xkcyy.one.dto;

import com.xkcyy.one.common.EntityDTO;
import com.xkcyy.one.entity.Message;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.beans.BeanUtils;

import java.time.LocalDateTime;

/**
 * 消息数据传输对象
 *
 * @author AI Assistant
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class MessageDTO extends EntityDTO {

    
    /**
     * 对话ID
     */
    private Long conversationId;
    
    /**
     * 消息内容
     */
    private String content;
    
    /**
     * 消息角色
     */
    private String role;
    
    /**
     * 推理内容
     */
    private String reasonContent;
    

    /**
     * 将实体转换为DTO
     *
     * @param message 消息实体
     * @return 消息DTO
     */
    public static MessageDTO fromEntity(Message message) {
        if (message == null) {
            return null;
        }
        MessageDTO messageDTO = new MessageDTO();
        BeanUtils.copyProperties(message, messageDTO);
        return messageDTO;
    }

    /**
     * 将DTO转换为实体
     *
     * @return 消息实体
     */
    public Message toEntity() {
        Message message = new Message();
        BeanUtils.copyProperties(this, message);
        return message;
    }
}
